feat(worker): public APIs, per-job concurrency, and terminal status rendering#1071
Open
eideroliveira wants to merge 1 commit into
Open
feat(worker): public APIs, per-job concurrency, and terminal status rendering#1071eideroliveira wants to merge 1 commit into
eideroliveira wants to merge 1 commit into
Conversation
…nal status rendering Public API additions: - Builder.GetQueue() — exposes the queue for external orchestration - Builder.GetJobBuilder(name) — public accessor for job builders - Builder.CreateJob(ctx, qorJob) — public job creation with web context - Builder.CreateSystemJob(ctx, jobName, args) — create jobs from system background without web context (e.g. cron, startup tasks) - JobBuilder.Concurrency(n) — configure max concurrent instances per job - JobBuilder.GetResource() — access the resource prototype - QorJobInstance.SetJobBuilder(jb) — allows external code to wire job builders Worker behavior improvements: - Concurrency propagated through QorJobDefinition to queue listener - Terminal statuses (done/exception/killed/cancelled) now render directly instead of through async portal, avoiding Vue template compiler errors when progressText contains raw HTML - Job logs fetched via extracted fetchJobLogs helper - Progress text and log lines wrapped with v-pre to prevent Vue interpolation of user-supplied content - Completed jobs now reload the page to reflect final state - Rerun button shown on both done and exception statuses - Guard nil request in newJobInstance operator extraction
|
|
Overall Grade |
Security Reliability Complexity Hygiene |
Code Review Summary
| Analyzer | Status | Updated (UTC) | Details |
|---|---|---|---|
| Go | May 8, 2026 5:23p.m. | Review ↗ |
Important
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Extends the worker package with public APIs needed to build job orchestration outside the admin UI, and fixes rendering issues with terminal job statuses.
Public API additions:
Builder.GetQueue()— exposes the queue for external orchestrationBuilder.GetJobBuilder(name)— public accessor for job builders by nameBuilder.CreateJob(ctx, qorJob)— public job creation with web contextBuilder.CreateSystemJob(ctx, jobName, args)— create jobs from system background without web context (cron, startup tasks, etc.)JobBuilder.Concurrency(n)— configure max concurrent instances per job type (propagated to queue listener)JobBuilder.GetResource()— access the resource prototypeQorJobInstance.SetJobBuilder(jb)— wire job builders externallyBehavior improvements:
ProgressTextcontains raw HTMLv-preto prevent Vue interpolation of user contentdoneandexceptionstatusesnewJobInstanceTest plan
CreateSystemJob(no web context) execute correctlyv-pre